package com.dd.cloud.user.DTO.tencent;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Data;

import java.util.List;

/**
 * @Description: im即時通信管理员单发消息给用户 body参数
 * @Author: czg
 * @Date: 2023/7/17 14:48
 * @Version: 1.0.0
 */
@Data
@JsonNaming(value = PropertyNamingStrategy.UpperCamelCaseStrategy.class)
public class ImSendmsgSinParamReq {

    /**
     * 1：把消息同步到 From_Account 在线终端和漫游上
     * 2：消息不同步至 From_Account
     * 若不填写默认情况下会将消息存 From_Account 漫游
     */
    //@JsonProperty("SyncOtherMachine")
    private Integer SyncOtherMachine;

    /**
     * 消息发送方 UserID（用于指定发送消息方账号）
     */
    //@JsonProperty("From_Account")
    private String From_Account;

    /**
     * 消息接收方 UserID
     */
    //@JsonProperty("To_Account")
    private String To_Account;

    /**
     * 消息序列号（32位无符号整数），后台会根据该字段去重及进行同秒内消息的排序，详细规则请看本接口的功能说明。若不填该字段，则由后台填入随机数
     */
    //@JsonProperty("MsgSeq")
    private Long MsgSeq;

    /**
     * 消息随机数（32位无符号整数），后台用于同一秒内的消息去重。请确保该字段填的是随机
     */
    //@JsonProperty("MsgRandom")
    private Long MsgRandom;

    /**
     * 消息自定义数据（云端保存，会发送到对端，程序卸载重装后还能拉取到）
     */
    //@JsonProperty("CloudCustomData")
    private String CloudCustomData;

    /**
     * 消息体
     */
    private List<ImSendParamTypeReq> MsgBody;
}
